﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Runtime.Serialization;

namespace Sinacor.Servico.Bovespa.Ordens.Service.DataContract
{
    [DataContract(Namespace = "http://www.bovespa.com.br/Sinacor.Servico.Bovespa.Ordens.Service.DataContract", Name = "OrdemDistribuida")]
    public class OrdemDistribuida
    {
        #region Atributos

        /// <summary>
        /// Descricao do campo __CodigoFilhote
        /// </summary>
        private int _codigoFilhote;

        /// <summary>
        /// Descricao do campo __DataOrdem
        /// </summary>
        private DateTime _dataOrdem;

        /// <summary>
        /// Descricao do campo __DataPregao
        /// </summary>
        private DateTime _dataPregao;

        /// <summary>
        /// Descricao do campo __NumeroConjunto
        /// </summary>
        private int _numeroConjunto;

        /// <summary>
        /// Descricao do campo __NumeroOrdem
        /// </summary>
        private int _numeroOrdem;

        /// <summary>
        /// Descricao do campo __NumeroOrdemSubSequencia
        /// </summary>
        private int _numeroOrdemSubSequencia;

        /// <summary>
        /// Descricao do campo __TipoCancelamento
        /// </summary>
        private string _tipoCancelamento;

        /// <summary>
        /// Descricao do campo __TipoDistribuicao
        /// </summary>
        private string _tipoDistribuicao;

        private int _codigoBroker;
        private string _bolsa;
        private string _titulo;
        private int _numeroNegocio;
        private Enum.TipoNaturezaOperacao _naturezaOperacao;

        private Guid _identificador;

        #endregion

        #region Construtor

        public OrdemDistribuida()
        {
        }

        #endregion

        #region Propriedades

        /// <summary>
        /// Descricao da propriedade _CodigoFilhote
        /// </summary>
        [DataMember]
        public int CodigoFilhote
        {
            get { return _codigoFilhote; }
            set { _codigoFilhote = value; }
        }

        /// <summary>
        /// Descricao da propriedade _DataOrdem
        /// </summary>
        [DataMember]
        public DateTime DataOrdem
        {
            get { return _dataOrdem; }
            set { _dataOrdem = value; }
        }

        /// <summary>
        /// Descricao da propriedade _DataPregao
        /// </summary>
        [DataMember]
        public DateTime DataPregao
        {
            get { return _dataPregao; }
            set { _dataPregao = value; }
        }

        /// <summary>
        /// Descricao da propriedade _NumeroConjunto
        /// </summary>
        [DataMember]
        public int NumeroConjunto
        {
            get { return _numeroConjunto; }
            set { _numeroConjunto = value; }
        }

        /// <summary>
        /// Descricao da propriedade _NumeroOrdem
        /// </summary>
        [DataMember]
        public int NumeroOrdem
        {
            get { return _numeroOrdem; }
            set { _numeroOrdem = value; }
        }

        /// <summary>
        /// Descricao da propriedade _NumeroOrdemSubSequencia
        /// </summary>
        [DataMember]
        public int NumeroOrdemSubSequencia
        {
            get { return _numeroOrdemSubSequencia; }
            set { _numeroOrdemSubSequencia = value; }
        }

        /// <summary>
        /// Descricao da propriedade _TipoCancelamento
        /// </summary>
        [DataMember]
        public string TipoCancelamento
        {
            get { return _tipoCancelamento; }
            set { _tipoCancelamento = value; }
        }

        /// <summary>
        /// Descricao da propriedade _TipoDistribuicao
        /// </summary>
        [DataMember]
        public string TipoDistribuicao
        {
            get { return _tipoDistribuicao; }
            set { _tipoDistribuicao = value; }
        }

        [DataMember]
        public int CodigoBroker
        {
            get { return _codigoBroker; }
            set { _codigoBroker = value; }
        }

        [DataMember]
        public string Bolsa
        {
            get { return _bolsa; }
            set { _bolsa = value; }
        }

        [DataMember]
        public string Titulo
        {
            get { return _titulo; }
            set { _titulo = value; }
        }

        [DataMember]
        public int NumeroNegocio
        {
            get { return _numeroNegocio; }
            set { _numeroNegocio = value; }
        }

        [DataMember]
        public Enum.TipoNaturezaOperacao NaturezaOperacao
        {
            get { return _naturezaOperacao; }
            set { _naturezaOperacao = value; }
        }

        [DataMember]
        public Guid Identificador
        {
            get { return _identificador; }
            set { _identificador = value; }
        }

        #endregion
    }
}
